package cn.bud.msgbus.server.bean;

import cn.hutool.json.JSONConfig;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import lombok.Data;

/**
 * MsgBody
 *
 * @author hxj
 * @version 1.0
 * @description
 * @date 2024-06-19 14:02
 */
@Data
public class MsgBody{

    /**
     * 标题
     */
    protected String topic;

    /**
     * 是否异步
     */
    protected boolean async = true;

    /**
     * 消息内容
     */
    private Object data;
    private static JSONConfig config = JSONConfig.create()
            .setDateFormat("yyyyMMddHHmmss");

    public JSONObject jsonObj() {
       JSONObject jsonObject = JSONUtil.createObj(config);
       jsonObject.set("topic", topic);
        jsonObject.set("data", data);
       return jsonObject;
    }

    public String jsonStr() {
       return jsonObj().toJSONString(0);
    }
}
